package de.karlNet.condition.conditions.equal;

import de.karlNet.condition.conditions.Condition;

public class NotEqualAnd<T> extends Condition<T> {

	public NotEqualAnd(T[] actualValues, T[] valuesToBeExpected) {
		super(actualValues, valuesToBeExpected);
	}

	public NotEqualAnd(T... actualValues) {
		super(actualValues);
	}

	public boolean meets() {
		super.meets();
		for (int i = 0; i < actualValues.length; i++) {
			if (actualValues[i].equals(valuesToBeExpected[i])) {
				return false;
			}
		}
		return true;
	}

	public static <T> NotEqualAnd<T> notEqualAnd(T... actualValues) {
		return new NotEqualAnd<T>(actualValues);
	}
}
